package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.common.api.BusinessApi;
import com.common.core.domain.AjaxResult;
import com.project.domain.bo.MiddleCheckOrCompleteBo;
import com.project.domain.entity.BizProjectComplete;
import com.project.domain.vo.BizProjectCompleteVo;
import com.project.domain.vo.NavigationForProVo;

import java.util.List;

public interface ICompleteProService extends BusinessApi {

    /**
     * 左上角根据状态的数量统计
     * @param bizProjectComplete
     * @return
     */
    List<NavigationForProVo.NameAndCount> selectGroups(MiddleCheckOrCompleteBo bizProjectComplete);

    /**
     * 查询项目结项
     *
     * @param ID 项目结项主键
     * @return 项目结项
     */
    BizProjectComplete selectBizProjectCompleteByID(String ID);

    /**
     * 查询项目结项列表
     * @param bizProjectComplete 项目结项
     * @param type
     * @return 项目结项集合
     */
    IPage<BizProjectCompleteVo> selectBizProjectCompleteList(MiddleCheckOrCompleteBo bizProjectComplete, String type);

    /**
     * 新增项目结项
     *
     * @param bizProjectComplete 项目结项
     * @return 结果
     */
    AjaxResult saveBizProjectComplete(BizProjectComplete bizProjectComplete, String operateType);

    /**
     * 批量删除项目结项
     *
     * @param IDs 需要删除的项目结项主键集合
     * @return 结果
     */
    int deleteBizProjectCompleteByIDs(String[] IDs);

    /**
     * 删除项目结项信息
     *
     * @param ID 项目结项主键
     * @return 结果
     */
    int deleteBizProjectCompleteByID(String ID);
}
